from typing import List

# 输入模块参数
# DEF_FILE: str = "input/sky130/placed.def"
DEF_FILE: str = "input/sky130/iPL_result.def"
LEF_FILE_LIST: List[str] = ["input/sky130/merged.lef",]

# 统计模块
REPORT_FILE: str = "output/overlap/overlap_report.txt"              # 重叠检测报告

# 布线模块参数
CUGR_BIN_PATH: str = "./bin/iccad19gr"      # 布线器路径
CUGR_THREADS: int = 4                       # 线程设置
CUGR_RRR_ITERS: int = 20                    # 迭代设置
CUGR_TEMP: str = "./output/cugr_result/tmp.guide"                       # 临时文件
CUGR_CONGESTION_TXT: str = "./output/cugr_result/cugr_congestion.txt"   # 路由结果

# 拥塞模块参数
PROB_CONGESTION_TXT: str = "./output/cugr_result/prob_congestion.txt"   # prob 格式拥塞结果（H/V 两层）
VIA_COEFF: float = 1.5                                                  # 过孔等效系数

# 绘图模块参数
DEF_PNG: str =  "output/draw/def_result.png"                      # def文件绘制结果
CONGESTION_PNG: str =  "output/draw/congestion_heatmap.png"       # 拥塞热力图

# 绘图超参
DRAW_DPI: int = 200             # 输出图片 DPI（每英寸像素密度），影响导出清晰度
DRAW_MAX_PX: int = 2000         # 图像最大宽/高像素，用于限制画布尺寸避免过大
DRAW_LAYER: str = 'overall'     # 默认显示层：'overall' 汇总（H/V合成）或 'H'/'V' 单层
DRAW_ALPHA: float = 0.7         # 热力图透明度（0~1），值越小越透明
DRAW_SHOW_GRID: bool = True     # 是否绘制 gcell 网格线
DRAW_CBAR_TICKS = None          # 颜色条刻度列表；为 None 时按数据范围自动生成
DRAW_CBAR_LABEL: str = "Utilization (demand/supply)"            # 颜色条标签文本，用于说明度量含义
DRAW_ANNOTATE: bool = True     # 是否标注极值/统计信息
